home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / coolphp_xss.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  69 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4. if(description)
  5. {
  6.  script_id(15506);
  7.  script_bugtraq_id(11437);
  8.  script_version ("$Revision: 1.2 $");
  9.  
  10.  
  11.  name["english"] = "CoolPHP Multiple Vulnerabilities";
  12.  
  13.  script_name(english:name["english"]);
  14.  
  15.  desc["english"] = "
  16. The remote host is running the CoolPHP Content Management system.
  17.  
  18. There are various flaws in the remote version of this software which
  19. may allow an attacker to read arbitrary files on the remote host or to
  20. set up a cross-site scripting attack.
  21.  
  22. Solution : None at this time
  23. Risk factor : Medium";
  24.  
  25.  
  26.  
  27.  
  28.  script_description(english:desc["english"]);
  29.  
  30.  summary["english"] = "Checks for CoolPHP";
  31.  
  32.  script_summary(english:summary["english"]);
  33.  
  34.  script_category(ACT_ATTACK);
  35.  
  36.  
  37.  script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
  38.  family["english"] = "CGI abuses";
  39.  family["francais"] = "Abus de CGI";
  40.  script_family(english:family["english"], francais:family["francais"]);
  41.  script_dependencie("find_service.nes", "http_version.nasl", "cross_site_scripting.nasl");
  42.  script_require_ports("Services/www", 80);
  43.  exit(0);
  44. }
  45.  
  46. # The script code starts here
  47.  
  48. include("http_func.inc");
  49. include("http_keepalive.inc");
  50.  
  51. port = get_http_port(default:80);
  52.  
  53. if(!get_port_state(port))exit(0);
  54. if(get_kb_item(string("www/", port, "/generic_xss"))) exit(0);
  55. if(!can_host_php(port:port))exit(0);
  56.  
  57. foreach d ( cgi_dirs() )
  58. {
  59.  req = http_get(item:string(d, "/index.php?op=userinfo&nick=<script>foo</script>"), port:port);
  60.  res = http_keepalive_send_recv(port:port, data:req, bodyonly:1);
  61.  if( res == NULL ) exit(0);
  62.  if(ereg(pattern:"^HTTP/[0-9]\.[0-9] 200 ", string:res) &&
  63.     "<script>foo</script>" >< res )
  64.     {
  65.      security_warning(port);
  66.     exit(0);
  67.      }
  68. }
  69.